package Year22_Month04.day25;

import java.util.HashMap;

public class 有效的字母异位词 {
    //第一个反应就是用一个数组来进行存储，因为ASCALL码的原因，所以应该是可以完好的遍历的，然后遍历数组中的每个元素是否相等就行
    //第二个反应就是用哈希表，然后遍历哈希表中的元素，再一一比较
    public boolean isAnagram(String s, String t) {
        HashMap<Character,Integer> sMap = new HashMap();
        HashMap<Character,Integer> tMap = new HashMap();
        //用一个哈希表来记录s中每个字符出现的次数
        for(char c:s.toCharArray()){
            sMap.put(c,sMap.getOrDefault(c,0)+1);
        }
        //遍历t然后如果sMap里面有相同的，就-1
        for(char c:t.toCharArray()){
            sMap.put(c,sMap.getOrDefault(c,0)-1);
        }
       for(Integer i:sMap.values()){
           if(i != 0){
               return false;
           }
       }
        return true;
    }
}
